#pragma once

#include "../../loki/include/loki/TypeTraits.h"

namespace UIStone
{
	namespace Private
	{
		template <typename ParameterType> 
		struct FCConstParameterTypeTraits
		{
			typedef ParameterType Result;
		};

		template <typename ParameterType> 
		struct FCConstParameterTypeTraits<ParameterType&>
		{
			typedef const ParameterType& Result;
		};
	};

	template<typename T>
	struct FCTypeTraits : public Loki::TypeTraits<T>
	{
		typedef typename Private::FCConstParameterTypeTraits<typename Loki::TypeTraits<T>::ParameterType>::Result ConstParameterType;
	};
};
